package com.example.project.util;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Random;

public final class ListUtil {
	private ListUtil() {
		throw new IllegalStateException("Utility class");
	}
	/***
	 * 判断一个List是否为空
	 * @param list
	 * @return
	 */
	public static boolean isEmpty(List<?> list){
		return list == null || list.isEmpty();
	}
	
	/***
	 * 判断一个List是否为空
	 * @param list
	 * @return
	 */
	public static boolean isNotEmpty(List<?> list){
		return list != null && !list.isEmpty();
	}

	public static <T> List<T> random(List<T> list,Integer num){
		if (list.size() == num) {
			return list;
		}
		List<T> listRandom = new ArrayList<T>();
		for (int i = num; i >=1; i--) {
			Random random = new Random();
			Math.random();
			//在数组大小之间产生一个随机数 j
			int j = random.nextInt(list.size()-1);
			//取得list 中下标为j 的数据存储到 listRandom 中
			listRandom.add(list.get(j));
			//把已取到的数据移除,避免下次再次取到出现重复
			list.remove(j);
		}
		return listRandom;
	}

	public static List<String> strToList(String string,String delimit){
		if (StringUtil.isEmpty(string)) return new ArrayList<>();
		else if (!string.contains(delimit)) return Arrays.asList(string);
		else return Arrays.asList(string.split(delimit));
	}
}
